syntax = "proto3";
package some;

message Some {
  
  enum n_enum {
    A = 0; 
    B = 1; 
    C = 2; 
  }
  
  enum d_enum {
    D =  0; 
    E =  1; 
    F =  2; 
    G =  3; 
    H =  4; 
    I =  9; 
    K = 10; 
  }
  string a = 1;
  int64 b = 2;
  int32 c  = 3;
  n_enum n = 4;
  d_enum  d  = 5;
  string e = 6;
  string f = 7;
  string g = 8;
  string h = 9;
  int32 i  = 10;
  int32 j  = 11;
  int32 k = 12;
  int32 l = 13;
  string m = 14;
  
  oneof sub {
    SubOne sub_1 = 100;
    SubTwo sub_2 = 101;
  }
}

message SubOne {
  int32 a = 1;
  int32 b = 2;
  string c = 3;
  string d = 4;
  string e = 5;
  string f = 6;
  string g = 7;
  string h = 8;
  string i   = 9; 
  string j  = 10;
  string k = 11;
}

message SubTwo {
  reserved 2,12;

  int32  a = 1;
  string b = 3;
  int32 c  = 4;
  int32 d = 5;
  int32 e = 6;
  int32 f = 7;
  bytes g = 8;
  string h = 9; 
  string i = 10;
  string j = 11;
  int64 k = 13;
  int64 l = 14;
  bytes random_name = 15;
}
